package com.itheima02.exception;

public class Demo4_ThrowException {
    /*
        思路：如果出现了此类问题（自己解决不了的，比如无法控制测试人员输入的值），则将问题抛给调用者

                throw: 将异常对象抛给调用者
                throws: 在方法上声明，告知调用者此方法存在异常
     */
    public static void main(String[] args) throws Exception {
        Person p = new Person();
        p.setAge(-23); //出现异常后，后面的代码不会执行
        System.out.println(p.getAge());
    }
}

class Person {
    private int age;

    public int getAge() {
        return age;
    }

    public void setAge(int age) throws Exception {
        if (age >= 0 && age <= 150) {
            this.age = age;
        } else {
            throw new MyAgeException("您输入的年龄有误，请检查！");
        }
    }
}

//自定义异常
class MyAgeException extends RuntimeException {
    public MyAgeException() {
    }

    public MyAgeException(String message) {
        super(message);
    }
}
